package com.jgdt.jgdtkasannong_university_gene_backend.entity.base;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 摄像头设备表
 * </p>
 *
 * @author chenzg
 * @since 2025-05-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("camera_device")
public class CameraDevice extends Model<CameraDevice> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 所属基地id
     */
    @TableField("base_id")
    private Integer baseId;

    /**
     * 0-禁用 1-启用
     */
    @TableField("is_enabled")
    private Integer isEnabled;

    /**
     * 监控品牌类型：1：萤石云 2：海康威视 3：大华
     */
    @TableField("brand_type")
    private Integer brandType;

    /**
     * 业务要求是否接入视频 （Y/N）
     */
    @TableField("is_access_video")
    private String isAccessVideo;

    /**
     * 是否上云 （Y/N）
     */
    @TableField("is_cloud")
    private String isCloud;

//    /**
//     * 监控品牌云鉴权api
//     */
//    @TableField("cloud_auth_api")
//    private String cloudAuthApi;

    /**
     * 监控品牌云鉴权api-appkey
     */
    @TableField("cloud_auth_appkey")
    private String cloudAuthAppkey;

    /**
     * 监控品牌云鉴权api-appsecret
     */
    @TableField("cloud_auth_appsecret")
    private String cloudAuthAppsecret;

    /**
     * 云监控厂商 1、萤石云
     */
    @TableField("cloud_vendor")
    private Integer cloudVendor;

    /**
     * 展示摄像头ip(选填)
     */
    @TableField("display_ip")
    private String displayIp;

    /**
     * 摄像头基础信息-摄像头的局域网IP地址
     */
    @TableField("local_ip")
    private String localIp;

    /**
     * 摄像头基础信息-端口
     */
    private String port;

    /**
     * 认证信息-视频编码参数
     */
    @TableField("video_codec")
    private String videoCodec;

    /**
     * 认证信息-分辨率
     */
    private String resolution;

    /**
     * 认证信息-帧率
     */
    @TableField("frame_rate")
    private String frameRate;

    /**
     * 摄像头支持协议
     */
    private String protocol;

    /**
     * 设备服务的URL
     */
    @TableField("service_url")
    private String serviceUrl;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    @TableField("created_by")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更改人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 更改时间
     */
    @TableField("update_time")
    private Date updateTime;



}
